// $ANTLR 3.4 /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g 2013-11-10 19:47:21

import org.antlr.runtime.*;
import java.util.Stack;
import java.util.List;
import java.util.ArrayList;

@SuppressWarnings({"all", "warnings", "unchecked"})
public class Aufgabe2_ASTLexer extends Lexer {
    public static final int EOF=-1;
    public static final int EQUAL=4;
    public static final int OPERATOR=5;
    public static final int RAETSEL=6;
    public static final int WHITESPACE=7;
    public static final int Z_BLOCK=8;

    // delegates
    // delegators
    public Lexer[] getDelegates() {
        return new Lexer[] {};
    }

    public Aufgabe2_ASTLexer() {} 
    public Aufgabe2_ASTLexer(CharStream input) {
        this(input, new RecognizerSharedState());
    }
    public Aufgabe2_ASTLexer(CharStream input, RecognizerSharedState state) {
        super(input,state);
    }
    public String getGrammarFileName() { return "/Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g"; }

    // $ANTLR start "Z_BLOCK"
    public final void mZ_BLOCK() throws RecognitionException {
        try {
            int _type = Z_BLOCK;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:28:10: ( ( 'A' .. 'H' | 'J' | 'K' ) )
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:
            {
            if ( (input.LA(1) >= 'A' && input.LA(1) <= 'H')||(input.LA(1) >= 'J' && input.LA(1) <= 'K') ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "Z_BLOCK"

    // $ANTLR start "OPERATOR"
    public final void mOPERATOR() throws RecognitionException {
        try {
            int _type = OPERATOR;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:29:11: ( ( '+' | '-' ) )
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:
            {
            if ( input.LA(1)=='+'||input.LA(1)=='-' ) {
                input.consume();
            }
            else {
                MismatchedSetException mse = new MismatchedSetException(null,input);
                recover(mse);
                throw mse;
            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "OPERATOR"

    // $ANTLR start "EQUAL"
    public final void mEQUAL() throws RecognitionException {
        try {
            int _type = EQUAL;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:30:8: ( ( '=' ) )
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:30:10: ( '=' )
            {
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:30:10: ( '=' )
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:30:11: '='
            {
            match('='); 

            }


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EQUAL"

    // $ANTLR start "EOF"
    public final void mEOF() throws RecognitionException {
        try {
            int _type = EOF;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:31:7: ( ( '\\r' | '\\n' )+ )
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:31:9: ( '\\r' | '\\n' )+
            {
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:31:9: ( '\\r' | '\\n' )+
            int cnt1=0;
            loop1:
            do {
                int alt1=2;
                int LA1_0 = input.LA(1);

                if ( (LA1_0=='\n'||LA1_0=='\r') ) {
                    alt1=1;
                }


                switch (alt1) {
            	case 1 :
            	    // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:
            	    {
            	    if ( input.LA(1)=='\n'||input.LA(1)=='\r' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt1 >= 1 ) break loop1;
                        EarlyExitException eee =
                            new EarlyExitException(1, input);
                        throw eee;
                }
                cnt1++;
            } while (true);


            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "EOF"

    // $ANTLR start "WHITESPACE"
    public final void mWHITESPACE() throws RecognitionException {
        try {
            int _type = WHITESPACE;
            int _channel = DEFAULT_TOKEN_CHANNEL;
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:32:13: ( ( '\\t' | ' ' )+ )
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:32:15: ( '\\t' | ' ' )+
            {
            // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:32:15: ( '\\t' | ' ' )+
            int cnt2=0;
            loop2:
            do {
                int alt2=2;
                int LA2_0 = input.LA(1);

                if ( (LA2_0=='\t'||LA2_0==' ') ) {
                    alt2=1;
                }


                switch (alt2) {
            	case 1 :
            	    // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:
            	    {
            	    if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
            	        input.consume();
            	    }
            	    else {
            	        MismatchedSetException mse = new MismatchedSetException(null,input);
            	        recover(mse);
            	        throw mse;
            	    }


            	    }
            	    break;

            	default :
            	    if ( cnt2 >= 1 ) break loop2;
                        EarlyExitException eee =
                            new EarlyExitException(2, input);
                        throw eee;
                }
                cnt2++;
            } while (true);


             _channel = HIDDEN; 

            }

            state.type = _type;
            state.channel = _channel;
        }
        finally {
        	// do for sure before leaving
        }
    }
    // $ANTLR end "WHITESPACE"

    public void mTokens() throws RecognitionException {
        // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:1:8: ( Z_BLOCK | OPERATOR | EQUAL | EOF | WHITESPACE )
        int alt3=5;
        switch ( input.LA(1) ) {
        case 'A':
        case 'B':
        case 'C':
        case 'D':
        case 'E':
        case 'F':
        case 'G':
        case 'H':
        case 'J':
        case 'K':
            {
            alt3=1;
            }
            break;
        case '+':
        case '-':
            {
            alt3=2;
            }
            break;
        case '=':
            {
            alt3=3;
            }
            break;
        case '\n':
        case '\r':
            {
            alt3=4;
            }
            break;
        case '\t':
        case ' ':
            {
            alt3=5;
            }
            break;
        default:
            NoViableAltException nvae =
                new NoViableAltException("", 3, 0, input);

            throw nvae;

        }

        switch (alt3) {
            case 1 :
                // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:1:10: Z_BLOCK
                {
                mZ_BLOCK(); 


                }
                break;
            case 2 :
                // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:1:18: OPERATOR
                {
                mOPERATOR(); 


                }
                break;
            case 3 :
                // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:1:27: EQUAL
                {
                mEQUAL(); 


                }
                break;
            case 4 :
                // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:1:33: EOF
                {
                match(EOF); 


                }
                break;
            case 5 :
                // /Users/iamapo/Desktop/CI Praktikum 2/Aufgabe2_AST.g:1:37: WHITESPACE
                {
                mWHITESPACE(); 


                }
                break;

        }

    }


 

}